package com.wave.system.domain.bo;

import com.wave.common.core.domain.BaseEntity;
import com.wave.common.core.validate.AddGroup;
import com.wave.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 产品查询业务对象 sys_product_query
 *
 * @author wave
 * @date 2024-10-12
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class SysProductQueryBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 产品SN
     */
    @NotBlank(message = "产品SN不能为空", groups = { AddGroup.class, EditGroup.class })
    private String productSn;

    /**
     * 产品SN
     */
    @NotBlank(message = "工装架编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shelfNumber;

    /**
     * 线号-卡槽号
     */
    @NotBlank(message = "线号-卡槽号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lineSolt;

    /**
     * 完成时间
     */
    @NotNull(message = "完成时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date completionTime;

    /**
     * 完成类型 0-自动完成, 1-手动完成
     */
    @NotNull(message = "完成类型 0-自动完成, 1-手动完成不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer completionType;


}
